package com.zhc.dejingapi.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author zhc
 * @since 2024-10-28
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("question")
@ApiModel(value = "QuestionEntity对象", description = "")
public class QuestionEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId("que_id")
    private Long queId;

    @ApiModelProperty("问题标题")
    @TableField("que_title")
    private String queTitle;

    @ApiModelProperty("问题类型")
    @TableField("que_type")
    private Integer queType;

    @ApiModelProperty("数据关联字段，关联字段的原始类型")
    @TableField("que_origin_type")
    private Integer queOriginType;

    @ApiModelProperty("表单ID")
    @TableField("form_id")
    private Integer formId;

    @ApiModelProperty("问题序号")
    @TableField("ordinal")
    private Integer ordinal;

    @ApiModelProperty("是否必填")
    @TableField("necessary")
    private Boolean necessary;

    @ApiModelProperty("提示")
    @TableField("tip")
    private String tip;

    @ApiModelProperty("默认值类型：1，一般默认值；2，关联已有数据；3，公式")
    @TableField("dft_type")
    private Integer dftType;

    @ApiModelProperty("默认值")
    @TableField("dft_value")
    private String dftValue;

    @ApiModelProperty("值是否唯一")
    @TableField("is_unique")
    private Boolean isUnique;

    @ApiModelProperty("占单行比例")
    @TableField("html_width")
    private Integer htmlWidth;

    @ApiModelProperty("多行文字行数")
    @TableField("text_area_rows")
    private Integer textAreaRows;

    @ApiModelProperty("多选最少选")
    @TableField("min_selected")
    private Integer minSelected;

    @ApiModelProperty("多选最多选")
    @TableField("max_selected")
    private Integer maxSelected;

    @ApiModelProperty("选项方向:0,横向;1,纵向")
    @TableField("opt_direction")
    private Integer optDirection;

    @ApiModelProperty("选项限额用完时显示文案")
    @TableField("opt_empty_text")
    private String optEmptyText;

    @ApiModelProperty("日期时间模块的内部格式，0为日期，1为时间，2为日期时间，默认为日期(0)")
    @TableField("date_type")
    private Boolean dateType;

    @ApiModelProperty("表格模块父问题ID")
    @TableField("sup_id")
    private Integer supId;

    @ApiModelProperty("上传文件允许上传多个，true为允许，false为不允许，默认不允许")
    @TableField("file_multiple")
    private Boolean fileMultiple;

    @ApiModelProperty("文件限制后缀类型,逗号分隔")
    @TableField("file_limit_type")
    private String fileLimitType;

    @ApiModelProperty("文件限制大小，单位为MB")
    @TableField("file_limit_size")
    private Integer fileLimitSize;

    @ApiModelProperty("图片选项是否为单选")
    @TableField("is_radio")
    private Boolean isRadio;

    @ApiModelProperty("创建时间")
    @TableField("create_time")
    private LocalDateTime createTime;

    @ApiModelProperty("最后更新时间")
    @TableField("last_upd_time")
    private LocalDateTime lastUpdTime;

    @TableField("abandon_show_cut_off")
    private Boolean abandonShowCutOff;

    @ApiModelProperty("限制字数中最小字数，－1为不限制，默认不限制(-1)")
    @TableField("min_word_count")
    private Integer minWordCount;

    @ApiModelProperty("限制字数中最大字数，－1为不限制，默认不限制(-1)")
    @TableField("max_word_count")
    private Integer maxWordCount;

    @TableField("can_decimal")
    private Boolean canDecimal;

    @ApiModelProperty("保留小数位数")
    @TableField("decimal_digit")
    private Integer decimalDigit;

    @ApiModelProperty("插件状态，true：开启插件，false：关闭插件")
    @TableField("plugin_status")
    private Boolean pluginStatus;

    @TableField("inline_ordinal")
    private Integer inlineOrdinal;

    @ApiModelProperty("关联的问题id")
    @TableField("related_que_id")
    private Integer relatedQueId;

    @ApiModelProperty("数据关联字段，数据的聚合方式，0-6分别代表：求和，平均值，最大值，最小值，第一个值，最后一个值，计数")
    @TableField("aggre_type")
    private Integer aggreType;

    @TableField("is_deleted")
    private Boolean isDeleted;

    @TableField("being_unique")
    private Boolean beingUnique;

    @TableField("being_radio")
    private Boolean beingRadio;

    @TableField("being_detailed_time")
    private Boolean beingDetailedTime;

    @TableField("being_deleted")
    private Boolean beingDeleted;

    @ApiModelProperty("单行文字是否可以扫码录入，默认不可以")
    @TableField("can_scan")
    private Boolean canScan;

    @ApiModelProperty("扫码的类型，1：条形码，2：二维码")
    @TableField("scan_type")
    private Integer scanType;

    @ApiModelProperty("表格子问题宽度，1-4：微，小，中，大")
    @TableField("sub_que_width")
    private Integer subQueWidth;

    @ApiModelProperty("是否允许手动修改定位，true：允许")
    @TableField("pick_position")
    private Boolean pickPosition;

    @ApiModelProperty("上传图片时是否进行压缩，true：压缩，默认false")
    @TableField("image_compress")
    private Boolean imageCompress;

    @ApiModelProperty("地址字段精确度 1-4: 省市区详细地址、省市区、省市、省")
    @TableField("address_precision")
    private Integer addressPrecision;

    @TableField("opt_select_mode")
    private Integer optSelectMode;

    @ApiModelProperty("是否限制数字范围，true：限制")
    @TableField("number_limit_status")
    private Boolean numberLimitStatus;

    @ApiModelProperty("数字字段的最小值")
    @TableField("min_value")
    private String minValue;

    @ApiModelProperty("数字字段的最大值")
    @TableField("max_value")
    private String maxValue;

    @ApiModelProperty("数字显示格式，1：无，2：千分位分隔，3：百分比")
    @TableField("number_format")
    private Integer numberFormat;

    @ApiModelProperty("是否显示货币金额，true：显示金额")
    @TableField("currency_status")
    private Boolean currencyStatus;

    @ApiModelProperty("是否显示货币金额，true：显示金额")
    @TableField("currency_type")
    private Integer currencyType;

    @ApiModelProperty("是否限制附件上传数量，true：限制")
    @TableField("max_file_limit_status")
    private Boolean maxFileLimitStatus;

    @ApiModelProperty("限制附件上传数量个数")
    @TableField("max_file_limit")
    private Integer maxFileLimit;

    @ApiModelProperty("表格字段不允许重复行是否开启")
    @TableField("table_no_repeat_status")
    private Boolean tableNoRepeatStatus;

    @ApiModelProperty("作为表格子字段是否允许重复行")
    @TableField("sub_que_no_repeat_status")
    private Boolean subQueNoRepeatStatus;

    @ApiModelProperty("ocrId")
    @TableField("ocr_id")
    private Integer ocrId;

    @TableField("msg_validate_status")
    private Boolean msgValidateStatus;

    @ApiModelProperty("成员字段可选范围类型，1：工作区所有成员，2：自定义")
    @TableField("member_select_scope_type")
    private Integer memberSelectScopeType;

    @ApiModelProperty("部门字段可选范围类型，1：工作区所有部门，2：自定义")
    @TableField("dept_select_scope_type")
    private Integer deptSelectScopeType;

    @ApiModelProperty("子表格行数上限")
    @TableField("table_rows_limit")
    private Integer tableRowsLimit;

    @ApiModelProperty("是否仅拍照上传")
    @TableField("file_being_capture_only")
    private Boolean fileBeingCaptureOnly;

    @ApiModelProperty("是否在表单中隐藏:1-隐藏,0-不隐藏。默认为不隐藏。")
    @TableField("being_hide")
    private Integer beingHide;


}
